package com.wlyuan.open.dto;

import com.alibaba.fastjson.JSONObject;
import com.wlyuan.open.OpenBaseSyncDTO;
import com.wlyuan.open.dto.finance.BillTransportDTO;
import com.wlyuan.open.dto.pay.PayDownStreamDTO;
import com.wlyuan.open.dto.pay.PayUpStreamDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author lijing
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class OpenPaySyncDTO extends OpenBaseSyncDTO implements Serializable {

    private static final long serialVersionUID = 5839215777979217078L;
    private Long paymentId;

    @ApiModelProperty("运单id")
    private Long waybillId;
    @ApiModelProperty("运单所属合单id")
    private Long combineId;
    @ApiModelProperty("对账单id")
    private Long billId;
    @ApiModelProperty("运单编号/对账单号")
    private String no;
    @ApiModelProperty("1 预付 2 到付 3 代收 4 回执")
    private Integer type;
    @ApiModelProperty("金额")
    private BigDecimal money;

    @ApiModelProperty("上游")
    private PayUpStreamDTO upStream;
    @ApiModelProperty("下游")
    private PayDownStreamDTO downStream;

    private LocalDateTime createAt;
    private Long createBy;
    private LocalDateTime updateAt;
    private Long updateBy;

    @ApiModelProperty("对账单运单信息")
    private List<BillTransportDTO> waybills;

    @ApiModelProperty("扩展信息")
    private JSONObject echo;

}
